package cn.com.surker.production.service;

import cn.com.surker.production.entity.ProductionIndentDispatch;
import cn.com.surker.production.entity.vo.DispatchVo;

import java.util.List;

/**
 * @author luotao
 * @date 2024/9/26
 */
public interface ErpIndentDispatchService extends IndentDispatchService {


	/**
	 * 查询派单列表
	 *
	 * @param code      派单编码
	 * @param indentId  任务单id
	 * @param lineId    生产线
	 * @param proStatus 生产状态
	 * @return
	 */
	List<ProductionIndentDispatch> findList(String code, Long indentId, Long lineId, Integer... proStatus);

	/**
	 * 派单编号
	 *
	 * @param code
	 * @param indentId
	 * @param lineId
	 * @param proStatus
	 * @return
	 */
	List<DispatchVo> findFullList(String code, Long indentId, Long lineId, Integer... proStatus);

	/**
	 * 根据发货单查询
	 *
	 * @param invoiceId
	 * @return
	 */
	List<ProductionIndentDispatch> queryByInvoice(Long invoiceId);

	List<DispatchVo> queryFullByInvoice(String erpDb, Long invoiceId, Integer status);

	/**
	 * 根据任务都,查询下面的全部派单数据
	 *
	 * @param indentIds
	 * @return
	 */
	List<ProductionIndentDispatch> findByIndentIds(List<Long> indentIds);

	/**
	 * 查询发货单的生产方量
	 *
	 * @param invoiceId
	 * @return
	 */
	Double queryInvProStere(Long invoiceId);
}
